// Generated from Fun.g4 by ANTLR 4.0

package grammar;

import org.antlr.v4.runtime.tree.ParseTreeVisitor;

public interface FunVisitor<T> extends ParseTreeVisitor<T> {
    T visitFunctionArguments(FunParser.FunctionArgumentsContext ctx);

    T visitMethodCall(FunParser.MethodCallContext ctx);

    T visitThrowCompareExpression(FunParser.ThrowCompareExpressionContext ctx);

    T visitObject(FunParser.ObjectContext ctx);

    T visitNewClass(FunParser.NewClassContext ctx);

    T visitPrimaryExpression(FunParser.PrimaryExpressionContext ctx);

    T visitThrowSumExpression(FunParser.ThrowSumExpressionContext ctx);

    T visitLambdaWithoutArguments(FunParser.LambdaWithoutArgumentsContext ctx);

    T visitApplications(FunParser.ApplicationsContext ctx);

    T visitLambdaWithArguments(FunParser.LambdaWithArgumentsContext ctx);

    T visitThrowLogicExpression(FunParser.ThrowLogicExpressionContext ctx);

    T visitLet(FunParser.LetContext ctx);

    T visitIfThenElse(FunParser.IfThenElseContext ctx);

    T visitCompare(FunParser.CompareContext ctx);

    T visitMulDiv(FunParser.MulDivContext ctx);

    T visitStaticLambdaObject(FunParser.StaticLambdaObjectContext ctx);

    T visitLogic(FunParser.LogicContext ctx);

    T visitThrowMultiplyExpression(FunParser.ThrowMultiplyExpressionContext ctx);

    T visitProgram(FunParser.ProgramContext ctx);

    T visitAddSub(FunParser.AddSubContext ctx);

    T visitExpressionInBrackets(FunParser.ExpressionInBracketsContext ctx);

    T visitIfThenElseExpression(FunParser.IfThenElseExpressionContext ctx);

    T visitLambdaExpression(FunParser.LambdaExpressionContext ctx);

    T visitThrowApplications(FunParser.ThrowApplicationsContext ctx);

    T visitIdentifier(FunParser.IdentifierContext ctx);

    T visitApplicationsList(FunParser.ApplicationsListContext ctx);

    T visitLiteral(FunParser.LiteralContext ctx);
}